#ifndef LIB_H
#define LIB_H
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "main.h"
/**
 * @brief 8位数据比较
 * [param in] _Buf1 8位参数指针
 * [param in] _Buf2 8位参数指针
 * [param in] len 长度
 * retruns -1：不相同；0：相同；
 */
extern int Lib_memcmp_8bit(uint8_t* _Buf1,uint8_t* _Buf2,uint16_t len);
/**
 * @brief 16位数据比较
 * [param in] _Buf1 16位参数指针
 * [param in] _Buf2 16位参数指针
 * [param in] len 长度
 * retruns -1：不相同；0：相同；
 */
extern int Lib_memcmp_16bit(uint16_t* _Buf1,uint16_t* _Buf2,uint16_t len);
/**
 * @brief 32位数据比较
 * [param in] _Buf1 16位参数指针
 * [param in] _Buf2 16位参数指针
 * [param in] len 长度
 * retruns -1：不相同；0：相同；
 */
extern int Lib_memcmp_32bit(uint32_t* _Buf1,uint32_t* _Buf2,uint16_t len);
/**
 * @brief 8位数据拷贝
 * [param in] *dest 目的地址指针
 * [param in] *src  源地址指针
 * [param in] len 长度
 */
extern void Lib_memcpy_8bit(uint8_t* dest,uint8_t* src,uint16_t len);
/**
 * @brief 16位数据拷贝
 * [param in] *dest 目的地址指针
 * [param in] *src  源地址指针
 * [param in] len 长度
 */
extern void Lib_memcpy_16bit(uint16_t* dest,uint16_t* src,uint16_t len);
/**
 * @brief 32位数据拷贝
 * [param in] *dest 目的地址指针
 * [param in] *src  源地址指针
 * [param in] len 长度
 */
extern void Lib_memcpy_32bit(uint32_t* dest,uint32_t* src,uint16_t len);
/**
 * @brief  CRC校验
 * @param  pBuf:数据帧
 * @param  usLen:数据长度
 * @retval 无
 */
uint16_t Lib_CRC16Check(uint8_t *pBuf, uint16_t usLen);
#endif
